home *** CD-ROM | disk | FTP | other *** search
/ The X-Philes (2nd Revision) / The X-Philes Number 1 (1995).iso / xphiles / hp48hor2 / fullpath.doc < prev    next >
Text File  |  1995-03-31  |  4KB  |  117 lines

  1. [Note: The following is a good example of how folks use the "comp.sys.hp48" 
  2.  newsgroup on USENET to get answers to tough questions.  -jkh-] 
  3.  
  4. (Comp.sys.hp48) 
  5. Item: 433 by clemon@lemsys.UUCP 
  6. Author: [Craig Lemon] 
  7.   Subj: Referencing Vars by FULL PATHS 
  8.   Date: Mon Dec 30 1991 
  9.  
  10.         Is there any way to specify a FULL PATH to a variable when you want 
  11. to execute it (without changing to that path).  For instance, QUD in in { 
  12. HOME UTIL MISC }, { HOME UTIL MISC QUD } doesn't call the program, what 
  13. will?  I would like to use this with some applications where I would like to 
  14. write to a variable given full path or possibly run a sub-program in some 
  15. other path. 
  16.  
  17. ---------- 
  18.   Resp: 2 of 5 by vsteiger@ubevax.unibe.ch 
  19.   Date: Tue Dec 31 1991 
  20.  
  21. I was unable to find the answer in the manual in less than a minute, so  
  22. here it is from memory. (Otherwise you would have gotten a sarcastic remark  
  23. and a page number in the manual...) 
  24.  
  25. The answer is yes:  
  26. (1) Try: { HOME ASTRO KEPLER } EVAL 
  27.     This changes to the path { HOME ASTRO } and evaluates the program KEPLER.  
  28.     (Not exactly what you were asking, I know.) 
  29. (2) Try: { HOME ASTRO KEPLER } RCL EVAL      
  30.     This recalls the program KEPLER to the stack *without* changing to 
  31.     { HOME ASTRO }, then evaluates it. Of course, KEPLER must not call 
  32.     subroutines in { HOME ASTRO } or anywhere off the current path, unless 
  33.     by the very same procedure. 
  34.  
  35. Hope that helps. 
  36. Ruedi 
  37.  
  38. Internet: vsteiger@phim.unibe.ch 
  39.  
  40. ---------- 
  41.   Resp: 3 of 5 by bbwwbb@mixcom.COM 
  42. Author: [Kevin Jessup] 
  43.   Date: Tue Dec 31 1991 
  44.  
  45. I wrote a little program called EVPATH (EValuate PATH) to take me to a 
  46. directory, EVALuate a program (run it) and return me to where I was. 
  47. The requirements are that I should also be able to pass any parameters 
  48. to the program being called as if I were in that program's directory. 
  49.  
  50. This is EVPATH.  Put it in your HOME directory. 
  51. \<< PATH DEPTH ROLLD HOME EVAL DEPTH ROLL EVAL \>> 
  52.  
  53. The input to this program (on stack level one) is a list containing the 
  54. full path to the program from the HOME directory. 
  55.  
  56. I use QED (a fast machine-code editor) often.  The code is off in its 
  57. own directory.  To access it, I pass its path to the above program from 
  58. a key assignment or custom menu. 
  59.  
  60. Example: 
  61.   Say I want to run the program QED.o in the QED directory at any time from 
  62.   a key.  I have the above program in the HOME directory with a name of 
  63.   EVPATH.  I then assign the following program directly to a key. 
  64.      \<< {QED QED.o} EVPATH \>> 
  65.   That's it!  Now, whenever I press that key, QED.o runs and edits the 
  66.   object on the stack.  When I exit QED.o, EVPATH returns me to where I 
  67.   was when I pressed the key with the above key assignment. 
  68.  
  69. Hope this helps.  Then again, I would not at all be surprised if there is 
  70. an entirely better and more efficient way to accomplish the whole process! 
  71.  
  72.         -- Kevin Jessup, bbwwbb@mixcom.mixcom.com 
  73.  
  74. ---------- 
  75.   Resp: 4 of 5 by pfleury@disuns2.epfl.ch 
  76. Author: [Pascal Fleury] 
  77.   Date: Fri Jan 10 1992 10:53  
  78.  Lines: 30 
  79.  
  80. Yes. Save current path and go there, to program path. Execute the program, 
  81. with all its environment variables. Then return to old path. 
  82.  
  83. example: 
  84.  
  85. PATH -> P << { HOME UTIL MISC QUD } EVAL P EVAL >> 
  86.  
  87. You could write a small program in the root directory, to eval your program 
  88. and keeping the old path. 
  89.  
  90. %%HP: ... 
  91. @ Execute distant program 
  92. EXEC 
  93. \<< PATH \->P 
  94.   \<< EVAL P EVAL 
  95.  \>> 
  96. \>> 
  97.  
  98. Regards, Pascal Fleury 
  99.  
  100. pfleury@disuns2.epfl.ch 
  101.  
  102. ---------- 
  103.   Resp: 5 of 5 by djf@css.itd.umich.edu 
  104. Author: [David J. Fred] 
  105.   Date: Wed Jan 15 1992 13:03  
  106.  Lines: 25 
  107.  
  108. Alternatively, one could write: 
  109.  
  110. \<< PATH + EVAL \>> 
  111.  
  112. "Just another RPL hacker."  ;->> 
  113. -- 
  114. David Fred                             djf@css.itd.umich.edu 
  115. University of Michigan 
  116. ITD/CSS UNIX Support                   +1 313 763-0484 
  117.